home *** CD-ROM | disk | FTP | other *** search
/ SuperHack / SuperHack CD.bin / SCRIPTZ / DZE47B2.ZIP / DZE4.7 / SCRIPT~1.FAQ < prev   
Text File  |  1996-12-05  |  16KB  |  302 lines

  1. @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
  2. @@@@@@@@@@@@@@@@@@@@  Scripter Faq  @@@@@@@@@@@@@@@@@@@@
  3. @@@@@@@@@@@@@@@@@@@@@@@  v1.0  @@@@@@@@@@@@@@@@@@@@@@@@@
  4. @@@@@@@@@@@@@@@@@@@  By:__Bear__  @@@@@@@@@@@@@@@@@@@@@@             
  5. @@@@@@@@@@@@  (C)opyright Nick Leto 1996 @@@@@@@@@@@@@@@
  6. @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
  7.  
  8.               **************************
  9.           *****The Introduction*****
  10.           **************************
  11. This faq is to help those out to create a script and 
  12. well they just don't know where to start. That is where 
  13. this steps in. It's here to tell you what is expected or
  14. needed in a script. You will see no answers here about
  15. any form of war basically I see it as a waste of time 
  16. to plan out what to write or type. With mIRC rapidly 
  17. evolving the scripting is always increasing in the 
  18. level of difficulty. With this happening there is a
  19. decrease in the amount of scripts that are released that
  20. show any real promise. Hopefully if you take the time to
  21. read this you should be able to 1 step ahead of the rest.
  22. I hope you all have read the mirc help file and the mirc 
  23. faq if not you should back up and do so. The beginning 
  24. steps to learning properly how to script is to read over
  25. the faq and help file. That is sometimes confusing and I
  26. am hoping to explain, in english and more in depth then 
  27. they did. Hopefully there won't be anything confusing in
  28. this but if there is then by all means or even if you 
  29. wish to drop a line of thanks, complaints or anything 
  30. along them lines then just email me. Good luck with this
  31. and your scripts.
  32.                 Thanks;
  33.                 Nick aka __Bear__ on IRC
  34.         Email: pnl4427@cpcnet.com
  35.                 or
  36.                       pnl4427@super.zippo.com
  37.    Homepage: Http://www.geocities.com/SunsetStrip/2103
  38.  
  39. ******************************************************** 
  40. @@@@@@@@@@@@@@@  TABLE OF CONTENTS  @@@@@@@@@@@@@@@@@@@@@ 
  41.                          
  42.  
  43. (all subject will be supported with an example)
  44. 1) A short list of stuff your script should do and 
  45.     should not do
  46. 2)explanation of alias
  47. 3)explanation of popups
  48. 4)explanation of variables
  49. 5)explanation of commands
  50. 6)explanation of events
  51. 7)explanation of raw
  52. 8)the long awaited explanation of if-then-else
  53.     (the best i can)
  54.     
  55.     
  56.     @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
  57.     @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
  58.     @@            1             @@
  59.     @@ DESCRIPTION OF WHAT A    @@
  60.     @@     SCRIPT SHOULD AND    @@
  61.     @@  SHOULD NOT DO           @@                                                     @@                                                                                    
  62.     @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
  63.     @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
  64.  
  65. Well many people think mirc scripts should be doing 
  66. different things, but when you sit in a channel and 
  67. everything someone does it ends up showing the script 
  68. name. wouldn't we say they took it a little far? 
  69. Just by making it say its name every time something 
  70. happens doesn't make the script its self any better. 
  71. Scripts have been slowly moving away from the war aspect
  72. of mirc, but yet still some slip through the cracks. It
  73. is IRC(internet relay chat) not IRW(internet relay war) 
  74. so if you are looking for help on writing a war script 
  75. just click the x in the top right hand corner because 
  76. you are not getting no help here. War is something you 
  77. should not add to your script.
  78.  
  79. Things You Should Add To Your Script:
  80. Filter 
  81. Basic ctcp control through popups
  82. ---> by this I mean version, ping, echo, etc...
  83. Basic channel control through popups
  84. ---> like op, deop, kick, ban, etc...
  85. Basic control for Dcc
  86. ---> dcc chat and send  
  87. Friends List
  88. --->this is not a must but it always ends up there
  89.  
  90. Things you should not add to your script
  91. You know if you use your common sense and think about it
  92. you should be able to distinguish for yourself on what 
  93. to add and what not to.
  94.  
  95. Tips: 
  96. have your script log everything!
  97. -
  98. look at modern scripts, don't rip them 
  99. -
  100. try to make your script original(easier said then done)
  101. -
  102. the best script is always the one you make for yourself 
  103. because you know what you want in it
  104.  
  105.     @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
  106.     @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@                                                                                   2                                               @@
  107.     @@ Brief Description of Alias @@                           
  108.     @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
  109.     @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
  110.  
  111. An alias is a command that you create for yourself
  112. (ex. /home /msg # Bears New Homepage is at 
  113. http://www.geocities.com/SunsetStrip/2103) An alias 
  114. certain identifiers much like the remote section of mirc. 
  115. These can be found in mirc.hlp file that comes with the 
  116. exe. In alias there is wide variety of things you can do.
  117. You can create shortcuts to command lines:
  118. ex. /op /mode # +o $$1   <--- this command will allow you 
  119.                        to op the #                                  someone by typing /op __Bear__   
  120.                        equal to what
  121.                                            channel you 
  122.                        are on the $$1
  123.                        equal to 
  124.                        __bear__
  125. now you can also extend this to /op /mode # +oooo $$1 
  126. $$2 $$3 $$4 now this will have you op 4 people instead 
  127. of 1. Now much like the first one when you typed /op 
  128. __bear__ now you would have to type /op __Bear__ larry 
  129. moe jack that would look like this:
  130.  Ghost sets mode: +oooo __Bear__ larry moe jack
  131. But hopefully you know that much so far, but then you 
  132. can go to a more advanced alias command. Alias excepts
  133. almost all the identifiers that the remote does much 
  134. like the popups section. There isn't a lot to aliases 
  135. until you understand and can use if\then\else that is 
  136. when commands are tricky. Good Luck with the aliases.
  137.  
  138. @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@                                                            @@                                              3                                                   @@
  139. @@                          Brief Description of Popups                          @@
  140. @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
  141. @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
  142.  
  143. Popups is the section where when you click your right mouse button a little screen will popup. This is usually how all manual commands are controlled or based. This is the spot where you would install a command like this:
  144. channel list popups
  145. .op:/op $$1 <---now that is the alias I used to explain aliases and now                                 
  146. you see how you can link together the different sections
  147. now all 3 section you can link to alias, but nothing can link to  popups or remote. In popup goes commands like .whois:/whois $$1 which comes out to something like this:
  148. __Bear__ is Bear@208.134.165.87 * http://www.geocities.com/SiliconValley/Pines/2398   
  149. __Bear__ on #mirc #mIRC4Fun @#mirc_scripts #mircscripters 
  150. __Bear__ using irc.ionet.net with new improved ingredients
  151. __Bear__ has been idle 8mins 12secs, signed on Wed Nov 20 10:25:46
  152. End of /WHOIS list.
  153. <----Just thought I would add this and i'm sure you all have seen whois's and if not damn we are in trouble. There isn't to much to explain about popups it is a more learn as you go deal.
  154.  
  155.  
  156.  
  157. @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
  158. @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
  159. @@                                              4                                                  @@
  160. @@              Brief description of Variables                        @@
  161. @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
  162. @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
  163.   
  164. Variables are %x =1. it is a identifier that starts with a % sign. now a 
  165. variable can have any value you wish. It can be a number(ex. %x = 1) or it can be text(ex. %x = it or %x = [DZE] simply going out in left field ). It stands for anything you want. There is no limit to what a variable can stand for. Now variable can't stand on its own like the other sections. It must be used in alias, popups, or some section of the remote. Although you can set the value of a variable without the other sections help by typing /set %x 1(but in 4.52 or lower you must type /set -q %x 1). You can type /inc %x 1(in all 4.52 - you need the -q switch)which will increase the value of %x by 1 now you can increase the value as much as u want at any time but if the value of the variable is in text then you must use /set %x <text here>. You have increased by using /inc but you can decrease by using the same principle except for the /inc should be a /dec. There isn't much to variables just knowing the commands. Here is an example of how to link together what you learned so far.
  166. remotes:
  167. 1:ON JOIN:#:/inc %joins 1
  168. alias
  169. /visitors /msg # There has been %joins visitors today
  170. popups
  171. .show visitors:/visitors
  172. That is how you would link together events, aliases, and popups. There are endless accounts on how you can use variables just like this in commands:
  173. if %ping 's value is Whoa don't do that it tickles - then
  174. 1:PING:/notice $nick %ping
  175. That is an example of how to use it in the commands section. That is all there really is to variables hope you learned from this.
  176.  
  177.  
  178.  
  179. @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
  180. @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
  181. @@                                              5                                   @@
  182. @@                Brief description of Commands                                @@
  183. @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
  184. @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
  185.  
  186. Commands in short is what handles the ctcps from other clients. If someone pings you and you wish to have a poetic little responce like seen above then you would put that command line in this section. Such as 1:PING:/notice $nick hey now I don't ping you so you don't ping me .
  187. It is also used for xdcc lists like 1:XDCC SEND #1:/dcc send $nick dze.zip among with anything you can think of you can have any sort of ctcp command you want but the thing is that in order for you to have that you have to imply it to a command in the command section. Now commands can now link to any section except popups examples
  188. 1:ON PING:/pnotice $nick
  189. /pnotice /notice $$1 Hiya that tickled do it again
  190. Now events has a whole nother way to handling ctcp's they go like if you ping someone you put a line like this:
  191. 1:ON REPLY:PING:/notice $nick [ $parm2] $parm3 secs
  192. But commands are the easiest section there is to learn if you know the identifiers or they get harder once you learn if statements.
  193.  
  194. @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
  195. @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
  196. @@             6                  @@
  197. @@   Brief description of Events  @@                @@
  198. @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
  199. @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
  200.  
  201. Events is usually your largest section because this is 
  202. what makes a script a script. This is what makes mIRC do 
  203. things automatically. Most of your statements are ON * 
  204. like ON JOIN or ON SERVEROP those are a couple of the 
  205. more used ones or even ON TEXT. They are expected 
  206. statements in a script example:
  207. 1:ON TEXT:Hello:#:/msg $chan well hello back $nick
  208. now on text has several ways of writting it - it all 
  209. depends on where it takes place. That line is for the 
  210. channel but if you wanted it for a msg all you do is 
  211. substitute a ? for the # inbetween the 2 :'s. Now if you 
  212. want it to watch both you need a * and change the /msg 
  213. $chan to /notice $nick or /msg $nick. That will keep it 
  214. from sending it to a channel and send it to that person 
  215. instead. To learn all the identifiers that you can use 
  216. mearly type /help $ while mirc is open and that will 
  217. show you all the different identifers and ON statements. Best help you can recieve about mirc you will find in the mirc help file or faq I'm just tring to help here because alot of newbies have these questions 
  218.  
  219.  
  220. @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
  221. @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
  222. @@              7           @@
  223. @@   Brief Description of Raw  @@                            @@
  224. @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@     
  225.  
  226. Raw is a tricky one to explain so I'm gonna try my best 
  227. here. Raw is something you have learn on your own really
  228. because it revolves around numerical numbers that if I
  229. would sit here and list then it would be all day till I 
  230. am done. Raw is a section of the remote which listens 
  231. for example to a whois and with the proper codes you can
  232. echo it to your channel window with 311:*:/echo 2 
  233. $active <what ever you want here> it is used to echo 
  234. stuff like when a channel is invite only you might see 
  235. on your channel screen that channel is invite only. Here
  236. is an example:
  237. This out of dze so if you use it just drop a line thanks
  238.     to dze for the whois echo
  239. 311:*:if (%whoisecho == on) { echo 2 $active [DZE] Whois Info On $parm2 $+ ( $+ $parm3 $+ @ $+ $parm4 $+ ) | echo 2 $active    $+ $parm2 $+  |   $+  Å: $+ Address $+ :Å   $parm3 $+ @ $+ $parm4 | echo 2 $active  Å: $+ IRCname $+ :Å $parm6* }
  240. 319:*:if (%whoisecho == on) { echo 2 $active Å: $+ Channels $+ :Å  $parm3 $parm4 $parm5 $parm6 $parm7 $parm8 $parm9 $parm10 $parm11 }
  241. 301:*:if (%whoisecho == on) { echo 2 $active Å: $+ $parm2 $+ :Å is away: $parm3* }
  242. 312:*: if (%whoisecho == on) { echo 2 $active Å: $+ Server $+ :Å $parm3 - $parm4* }
  243. 313:*:if (%whoisecho == on) { echo 2 $active Å: $+ $parm2 $+ :Å has IRC operator status }
  244. 317: *:if (%whoisecho == on) { echo 2 $active Å: $+ $parm2 $+ :Å has been idle $parm3 Seconds }
  245. 318:*:if (%whoisecho == on) { echo 2 $active  End of  /whois |  }   
  246.  
  247. Ok what them lines are saying with the help of if 
  248. statements is that if %whoisecho's value is on then
  249. echo them lines into the channel window i am currently on so by typing /whois __Bear__ I would see this:
  250.  
  251. [DZE] Whois Info On __Bear__(Bear@208.134.165.87)
  252. __Bear__|Å:Address:Å Bear@208.134.165.87
  253. Å:IRCname:Å http://www.geocities.com/SiliconValley/Pines/2398
  254. Å:Channels:Å @#mirc-scripters #mirc-warriors #mirc #mIRC4Fun @#mirc_scripts #mircscripters
  255. Å:Server:Å irc.ionet.net - with new improved ingredients
  256. Å:__Bear__:Å has been idle 130 Seconds
  257. End of /whois
  258. I hope you understand that better now. If not email me at the address above with any questions and i'll be sure to get back to you as soon as possible with the answer to your questions.
  259.  
  260. @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
  261. @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
  262. @@         8                           @@                      @@
  263. @@  Brief Description of IF/THEN/ELSE  @@                    @@
  264. @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
  265. @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
  266.  
  267. if/then/else statements are still relately new to mirc, 
  268. but I will try my best to explain it to you. I can 
  269. probably explain this better with an example so here 
  270. is one:
  271.  
  272. 11:ON BAN:#: {
  273.   if ($banmask iswm $address($me,0)) {
  274.     mode $chan -bo+b $banmask $nick $address($nick,2)
  275.     kick $chan $nick [User Ban Detected- $+ $banmask $+ 
  276.     halt
  277.  
  278. Ok now this is a personal ban prot. It catches users 
  279. when they ban you and it will deop and ban that person 
  280. while at the same time it unbans you. Alright now in 
  281. this if a ban is set this command reacts. if ($banmask 
  282. iswm $address($me,0)) simply  means if the ban is equal
  283. to my address then if will react but if it doesn't then
  284. it won't do jack. Now other then this I think it is best
  285. if you read the help file mirc supplies they can explain
  286. that much better then me so have fun and I hope this 
  287. helps.
  288.  
  289. Sorry to anyone that this isn't good enough for it is 
  290. more for the beginners, but the next one will cover the 
  291. more advanced users.
  292.  
  293. *credits:
  294. To the people who actually filled out my survey
  295. To owl without you Iwould have neverlearned anything about mirc
  296. To my friends for not getting pissed at me for ignoring you =P
  297. To you the people who read this - if it wasn't for you I would not have         had to write this       
  298. To Khaled Mardam-Bey & mIRC Co. without you people I wouldn't have a life, or a faq to write =]
  299.  
  300. email pnl4427@cpcnet.com or pnl4427@super.zippo.com
  301. homepage:  Http://www.geocities.com/SunsetStrip/2103
  302.